import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
 * Write a description of interface TOWER here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public abstract class TOWER
{
    protected int x;
    protected int y;
    protected int size;
    protected int radius;
    protected int damage;
    protected int rate;
    protected boolean drawRange;
    protected boolean isselected;
    protected boolean template;
    protected int cost;
    protected int upgradecost;
    protected int count;
    protected int creepx;
    protected int creepy;
    protected int upgradelevel;
    
    public String getInformation(String what)
    {
        if(what.equals("statsausgabe") == true)
        {
            return "Cost: " + cost + "\nDamage: " + damage + "\nRate: " + rate + "\nRadius: " + radius + "\n\nUpgradecost: " + upgradecost;
        }
        return "";
    }
    
    public boolean compare(int xKoord, int yKoord)
    {
        if(((xKoord >= x) && (xKoord <= x+size)) && ((yKoord >= y) && (yKoord <= y+size)))
        {
            return true;
        }
        return false;
    }
    public void setselection(boolean bool)
    {
        isselected = bool;
    }
    
    public void setdrawRange(boolean bool)
    {
        drawRange = bool;
    }
    
    public int getsize()
    {
        return size;
    }
    
    public TOWER(int posX,int posY)
    {
        x=posX;y=posY;
    }
    
    public int getCost()
    {
        return cost;    
    }
    
    public int getupgradeCost()
    {
        return upgradecost;
    }
   
    public int getupgradelevel()
    {
        return upgradelevel;
    }
    
    public int getRadius()
    {
        return radius;
    }
    
    public void settemplate(boolean bool)
    {
        template = bool;
    }
    
    public abstract void paint(Graphics g);
    public abstract void work(ArrayList<CREEP> creeps);
    public abstract void upgrade();
    public abstract int sell();
}
